home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 February
/
Macworld (1999-02).dmg
/
Games World
/
SharewareGames
/
Xconq 7.2.2
/
lib
/
wizard.g
< prev
next >
Wrap
Text File
|
1998-05-22
|
13KB
|
525 lines
(game-module "wizard"
(title "Wizard")
(blurb "When the gods were young, wizards dominated the world")
)
(unit-type wagon (image-name "wiz-wagon")
(help "moves supplies"))
(unit-type ship (image-name "wiz-ship")
(help "transports units over water"))
(unit-type grog (image-name "wiz-grog")
(help "marches around and captures things"))
(unit-type knight (image-name "wiz-knight")
(help "rides around and captures things better"))
(unit-type d (name "demon") (image-name "wiz-demon")
(help "kills and captures even better"))
(unit-type f (name "fire") (image-name "wiz-fire")
(help "burns things up"))
(unit-type earth (image-name "wiz-earth")
(help "very strong, hard to kill"))
(unit-type a (name "air") (image-name "wiz-air")
(help "carries things through the sky"))
(unit-type c (name "crystal") (image-name "wiz-crystal")
(help "sees very far"))
(unit-type manicon (image-name "wiz-manicon")
(help "concentrated mana ball"))
(unit-type wizard (image-name "wiz-wizard") (char "W")
(help "makes magic"))
(unit-type town (image-name "wiz-town") (char "*")
(help "produces food and grogs only"))
(unit-type city (image-name "wiz-city") (char "@")
(help "produces all things except mana"))
(unit-type guild (image-name "wiz-guild") (char "!")
(help "produces mana and wizards"))
(unit-type outpost (image-name "wiz-outpost") (char "$")
(help "supplies mundanes"))
(material-type food
(help "what people eat"))
(material-type drink
(help "what people drink"))
(material-type mana
(help "magic energy"))
(terrain-type sea (char "."))
(terrain-type shallows (char ","))
(terrain-type swamp (char "="))
(terrain-type desert (char "~"))
(terrain-type plains (char "+"))
(terrain-type forest (char "%"))
(terrain-type mountains (char "^"))
(terrain-type ice (char "_"))
(terrain-type vacuum (char ":"))
;FIXME I guess nuked is damaged-terrain now, T1 T2 -> N
;FIXME t* t* nuked ; most terrain won't actually change
;FIXME desert ( plains forest ) nuked
;FIXME mountains ice nuked
(define water ( sea shallows ))
(define land ( plains forest desert mountains ))
(define marsh swamp)
(define w wagon)
(define s ship)
(define g grog)
(define k knight)
(define e earth)
(define m manicon)
(define W wizard)
(define * town)
(define @ city)
(define ! guild)
(define $ outpost)
(define cities ( guild town city ))
(define places ( guild town city outpost ))
(define mundanes ( wagon ship grog knight ))
(define wizards ( wizard ))
(define ships ( ship ))
(define flyers ( a manicon ))
(define ground ( wagon grog knight d f earth c wizard ))
(define movers ( wagon ship grog knight d f earth a c manicon wizard ))
(define spells ( d f earth a c manicon ))
(define stupid ( wagon grog manicon town ))
(define smart ( knight ship d f earth a c wizard city guild ))
(define slow ( wagon grog c ))
(define swift ( knight d f earth a wizard ))
(add water liquid true)
;;; Static relationships.
(table vanishes-on
((wagon grog knight) water true)
(ship land true)
)
;; Unit-unit capacities.
(add movers capacity 1)
(add places capacity (5 10 20 5))
(add ship capacity 3)
(table unit-size-as-occupant
(u* u* 99)
;; Wagons carry mundanes.
((grog knight) wagon 1)
(movers ship 1)
;; Earth elemental can be used for transport.
(movers earth 1)
(earth earth 99)
;; Air elemental can carry a wizard.
(wizards a 1)
;; Anybody can carry a crystal ball.
(c u* 1)
;; Wizards may carry manicons.
;; (Note that wizards need not carry elementals, construction can
;; happen while stacked in same cell).
(manicon wizards 1)
;; Places can hold lots of other unit types.
(movers places 1)
)
;; Unit-terrain capacities.
;; Limit units to 16 in one cell, for the sake of playability and
;; and drawability. Places cover the entire cell, however.
(add t* capacity 16)
(table unit-size-in-terrain
(u* t* 1)
;; Allow air elementals to pass over instead of entering.
(a t* 0)
(places t* 16)
)
;; Unit-material capacities.
(table unit-storage-x
(wizards mana 25)
(guild mana 150)
(spells mana 10)
(m mana 25)
(city food 150)
(( town outpost ) food 40)
(mundanes food 10)
(wagon food 20)
(mundanes drink 3)
(wagon drink 5)
(ships drink 4)
(cities drink 10)
(outpost drink 10)
(guild food 10)
)
;;; Vision.
; w s g k d f e a c m W * @ ! $
(add u* vision-range ( 1 2 1 1 1 1 1 2 10 1 2 1 2 3 1))
;FIXME vision-at is N, coverage afforded by unit in its own hex
;(add u* vision-at-max-range ( 40 60 50 70 80 70 50 70 90 30 85 40 70 85 70 ))
;(add u* vision-at ( 1 2 1 1 1 1 1 2 10 1 2 1 2 3 ))
;FIXME visibility is U T -> N, U's % visibility in T
;(table visibility add (wizards t* 40))
;FIXME conceal is now visibility, you should subtr these numbers from that table
;FIXME 15 ( forest mountains ) u* conceal
(table spy-quality (u* u* 10))
;;; Actions.
; w s g k d f e a c m W
(add movers acp-per-turn ( 1 6 1 2 3 4 1 10 3 8 3 ))
(add places acp-per-turn 1)
;;; Movement.
(add places speed 0)
(table mp-to-enter-terrain
(slow land 1)
(grog marsh 1)
(e marsh 2)
(swift ( forest mountains marsh ) 2)
(swift ( plains desert ) 1)
(ships land 99)
(ships water 1)
(ships shallows 3)
(ships marsh 5)
(outpost land 1) ; ?
(flyers t* 1)
)
;(table mp-per-occupant add (ships earth 50))
;(table mp-per-occupant add (wizards ( d f earth ) 0))
;FIXME ferry-on-entry is U1 U2 -> FTYPE how much terrain U2 crosses to board U1
(table ferry-on-entry add (places ( grog knight d wizard ) over-all)) ; infantry can capture cities even on water.
;;; Construction.
(add mundanes cp (7 20 4 15))
(add spells cp 4)
(add guild cp 12)
(add outpost cp 4)
(table acp-to-create
(wagon outpost 1)
(wizards spells 1)
(wizards guild 1)
((town city) mundanes 1)
(guild wizards 1)
)
(table acp-to-build
(wagon outpost 1)
(wizards spells 1)
(wizards guild 1)
((town city) mundanes 1)
(guild wizards 1)
)
(table cp-on-creation
(city mundanes (3 8 1 6))
)
(table material-to-build
(spells mana 4)
)
;; Set up an approximate 20% extra toolup time.
(table acp-to-toolup
(u* u* 1)
)
(table tp-to-build
(wagon outpost 1)
(wizards spells 1)
(wizards guild 2)
(town mundanes (1 4 1 3))
(city mundanes (1 4 1 3))
)
(table tp-max
(wagon outpost 1)
(wizards spells 1)
(wizards guild 2)
(town mundanes (1 4 1 3))
(city mundanes (1 4 1 3))
)
;; Everything requires significant research time.
(add mundanes tech-max 50)
(add wizards tech-max 200)
(add spells tech-max 100)
(add guild tech-max 50)
(add outpost tech-max 50)
(add mundanes tech-to-build 50)
(add wizards tech-to-build 200)
(add spells tech-to-build 100)
(add guild tech-max 50)
(add outpost tech-to-build 50)
(table acp-to-research
(wagon outpost 1)
(wizards spells 1)
(wizards guild 1)
((town city) mundanes 1)
(guild wizards 1)
)
(table tech-per-research
(wagon outpost 1.00)
(wizards spells 1.00)
(wizards guild 1.00)
((town city) mundanes 1.00)
(guild wizards 1.00)
)
;; Repair.
(table acp-to-repair
(u* u* 1)
)
(table hp-per-repair
(u* u* 0.14)
)
;; Wizards can heal themselves, but note that they don't have many hp.\
;; and thus shouldn't be engaging in combat personally.
(add wizards hp-recovery 0.20)
;;; Combat.
; w s g k d f e a c m W * @ ! $
(add u* hp-max ( 1 2 1 1 3 1 5 1 1 1 2 5 10 15 8 ))
;; Badly damaged movers move more slowly.
(add ship speed-damage-effect ((1 50) (2 100)))
(add d speed-damage-effect ((1 50) (2 100)))
(add earth speed-damage-effect ((2 50) (4 100)))
(add wizard speed-damage-effect ((1 50) (2 100)))
(table hit-chance
; w s g k d f e a c m W * @ ! $
(w u* ( 50 20 10 10 5 5 5 5 20 70 30 30 10 5 10 ))
(s u* ( 40 50 30 20 15 20 5 20 30 70 30 35 25 10 25 ))
(g u* ( 70 60 50 30 20 30 10 30 40 80 40 50 40 25 40 ))
(k u* ( 80 70 70 50 35 50 20 50 50 85 50 65 50 35 50 ))
(d u* ( 85 80 75 65 50 60 30 65 70 90 25 70 60 50 60 ))
(f u* ( 90 90 85 70 60 70 40 70 85 80 35 75 70 50 70 ))
(e u* ( 80 70 70 50 35 40 20 50 85 80 15 70 70 70 70 ))
(a u* ( 50 80 50 40 35 40 20 50 45 75 20 40 35 30 35 ))
(c u* ( 20 15 10 5 5 5 5 5 20 50 15 20 10 5 10 ))
(m u* ( 90 90 80 70 65 70 60 75 80 70 65 90 80 60 80 ))
(W u* ( 90 90 75 65 60 65 40 65 80 80 50 70 60 50 60 ))
(* u* ( 50 20 10 10 5 5 5 5 20 70 30 30 10 5 10 ))
(@ u* ( 70 60 50 30 20 30 10 30 40 80 40 50 40 25 40 ))
(! u* ( 90 90 75 65 60 65 40 65 80 80 50 70 60 50 60 ))
($ u* ( 70 60 50 30 20 30 10 30 40 80 40 50 40 24 40 ))
)
(table damage
(u* u* 1)
(d u* 2)
(f u* 4)
(f ( earth guild outpost ) 1)
(e places 3)
(m u* 8)
(a ships 3)
)
(table consumption-per-attack (m mana 20))
(add manicon acp-to-detonate 1)
(table capture-chance
(grog places ( 50 30 10 30 ))
(k places ( 70 50 15 50 ))
(d places ( 70 50 25 50 ))
(wizards spells 20)
(wizard places ( 70 50 50 50 ))
)
(table protection
;; Cities offer some protection to occupants.
(town movers 80)
(city movers 50)
(guild movers 20)
;; Knights protect the cities housing them.
(knight places 90)
(wizard guild 90) ; can't make this too large or city can be
(( d f earth ) guild 93) ; invulnerable.
(grog places 95) ; same for infantry.
(earth movers 50)
)
;; Other Actions.
(add u* acp-to-change-side 0) ; but armies have some loyalty
(add ( c a manicon ) acp-to-change-side ( 80 65 40 ))
(add places acp-to-change-side 100)
;FIXME true u* neutral
;FIXME false spells neutral
;FIXME true ( c manicon ) neutral
; 10 u* max-quality
; 2 u* veteran
; ( 90 95 90 95 90 90 90 90 90 90 95 85 90 95 90 ) u* control
;FIXME hp-per-disband is U1 U2 -> HP lost in a disband action performed by U2
; you might add U1 acp-to-disband U2 as well, U1 U2 -> ACP
; (table hp-per-disband add (movers u* 100))
;;; Backdrop.
(table base-production
(mundanes drink 2)
(mundanes food 1)
(wizards drink 1)
(wizards food 1)
(places food 4)
(places drink 10)
(guild mana 10)
((town city) food 10)
)
(table productivity
(places land 100)
(town land ( 100 50 20 20 ))
(city land ( 100 50 20 20 ))
(ships ( shallows marsh ) 100)
(mundanes land 100)
(mundanes desert 20)
)
(table base-consumption
(mundanes food 1)
(mundanes drink 1)
(spells mana 1)
(wizards mana 1)
)
(table out-length
(u* m* 1)
(places m* 2)
)
(table in-length
(u* m* 1)
(places m* 2)
)
(table consumption-as-occupant
(u* m* true)
)
(table hp-per-starve
(u* food 0.30)
(wizards food 0.10)
(u* drink 0.30)
(wizards drink 0.10)
(spells mana 0.30)
(wizards mana 0.30)
)
; w s g k d f e a c m W * @ ! $
(add u* revolt-chance ( 10 10 10 5 10 1 1 1 1 1 5 50 40 15 15 ))
; ( 30 20 20 10 5 1 1 1 1 1 15 99 70 20 30 ) u* surrender
; ( 30 20 20 10 1 1 1 1 1 1 20 99 99 15 20 ) u* siege
(table accident-vanish-chance
(ships sea 300)
(a t* 100)
)
;; Text.
(set action-notices '(
((destroy u* movers) (actor " vanquishes " actee "!"))
((destroy u* ship) (actor " sinks " actee "!"))
((destroy u* cities) (actor " sacks " actee "!"))
))
(set event-notices '(
((unit-starved demon) (0 " returns to the Abyss"))
((unit-vanished ship) (0 " is lost in a storm"))
((unit-vanished a) (0 " disintegrates in a storm"))
))
(set event-narratives '(
((unit-starved demon) (0 " returned to the Abyss"))
((unit-vanished ship) (0 " was lost in a storm"))
((unit-vanished a) (0 " disintegrated in a storm"))
))
;;; Setup.
(add t* alt-percentile-min ( 0 68 69 70 70 70 93 99 0 ))
(add t* alt-percentile-max ( 68 69 71 93 93 93 99 100 0 ))
(add t* wet-percentile-min ( 0 0 50 0 20 80 0 0 0 ))
(add t* wet-percentile-max ( 100 100 100 20 80 100 100 100 0 ))
(set edge-terrain ice)
(add city start-with 1)
(add guild start-with 1)
(add town start-with 5)
(add wizard start-with 1)
(table favored-terrain
(u* t* 0)
(town land 20)
(town plains 40)
(city plains 100)
(guild land 20)
(guild mountains 40)
)
(set country-separation-min 10)
(set country-separation-max 30)
(table independent-density
(town land 50)
(town plains 150)
(city land 20)
(city plains 50)
(guild land 20)
(guild plains 50)
)
;;; Scoring.
(add places point-value ( 1 5 10 1 ))
(scorekeeper (do last-side-wins))
;;; Documentation.
(game-module (instructions (
)))
(game-module (notes (
)))
(game-module (design-notes (
)))